#include <stdio.h>	/* printf ssize_t */
#include <fcntl.h>	/* open O_RDONLY */
#include <unistd.h>	/* write close */
#include <string.h>	/* strlen */
#include "comm.h"

#define WRITE_STRING1 "hello world! "
#define WRITE_STRING2 "this is "
#define WRITE_STRING3 "string3 "

int main()
{
	/* 用只写的方式打开命名管道；要先运行server，在运行此client；
	   只有当server的读模式打开时才返回，否则会一直阻塞 */
	int fd = open(FIFO_NAME, O_WRONLY);
	if (fd < 0) {
		printf("client open fifo error\n");
		return -1;
	}

	/* 向命名管道写数据 */
	write(fd, WRITE_STRING1, strlen(WRITE_STRING1));
	write(fd, WRITE_STRING2, strlen(WRITE_STRING2));
	write(fd, WRITE_STRING3, strlen(WRITE_STRING3));

	/* 不能close()，如果close了server端会一直阻塞在open()中 */

	return 0;
}
